#ifndef BUZZER_H
#define BUZZER_H

#include <stdint.h>
#include <stdbool.h>

// 蜂鸣器PWM频率 (4KHz)
#define BUZZER_PWM_FREQ 4000
#define BUZZER_DEFAULT_DURATION 100  // 默认蜂鸣时间100ms

// 蜂鸣器状态枚举
typedef enum
{
    BUZZER_STATE_IDLE = 0,
    BUZZER_STATE_BEEPING
} buzzer_state_t;

// 蜂鸣器初始化
bool buzzer_init(void);

// 蜂鸣器鸣响指定时间(毫秒)
void buzzer_beep(uint32_t duration_ms);

// 蜂鸣器短促鸣响(默认时间)
void buzzer_beep_short(void);

// 停止蜂鸣器
void buzzer_stop(void);

// 设置蜂鸣器音量(0-100%)
void buzzer_set_volume(uint8_t volume_percent);

// 检查蜂鸣器是否正在鸣响
bool buzzer_is_beeping(void);

#endif // BUZZER_H
